import ReactDOM from "react-dom";
import React, { Component } from "react";
import PropTypes from "prop-types";

// 1. 类中的静态数据的写法和访问
// class Person {
//   // 实例属性
//   name = 'tom'
//   // 静态属性
//   static age = 18
// }

// const p = new Person()
// // 访问实例属性
// console.log(p.name)
// // 访问静态属性
// console.log(Person.age)

// 2. 类组件中通过静态属性写法 propTypes defaultProps
class Demo extends Component {

  // 校验props  colors 数组   gender  二选一  必填
  static propTypes = {
    colors: PropTypes.array,
    gender: PropTypes.oneOf(['男','女']).isRequired
  }

  // 默认值
  static defaultProps = {
    gender: '男'
  }

  render() {
    return <div>Demo组件</div>
  }
}


class App extends Component {
  render() {
    return (
      <div className="app">
        <Demo />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("root"));
